home *** CD-ROM | disk | FTP | other *** search
/ PLAYBOY - 20 Anos / PLAYBOY - 20 Anos.img / instalar.ms_ / instalar.ms
Text File  |  1995-11-09  |  9KB  |  336 lines

  1. '**************************************************************************
  2. '*  Instalaτπo do PLAYBOY CD-ROM 95
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST ASKLANG       = 100
  12. CONST ASKQUIT       = 200
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST OPTIONS       = 800
  16. CONST APPHELP       = 900
  17. CONST ACTIVATEFONTS = 1300
  18. CONST RESTARTWIN    = 1500
  19. CONST DESTPATH      = 1700
  20. CONST TOOBIG        = 6300
  21.  
  22. CONST WS_VISIBLE=&H10000000
  23. CONST WS_BORDER =&H00800000
  24. CONST WS_CLIPCHILDREN =&H02000000
  25. CONST GWL_STYLE =-16
  26. CONST SW_SHOWMAXIMIZED=3
  27.  
  28. ''Bitmap ID
  29. CONST FUNDO = 1
  30.  
  31. GLOBAL szInf$
  32. GLOBAL CUIDLL$      ''Define o nome da DLL a ser uasada.   
  33. GLOBAL CDROM$       ''Diret≤rio Default do CD-ROM.  
  34. GLOBAL DEST$        ''Diret≤rio Default de Destino.
  35. GLOBAL OPTCUR$      ''Opτπo de Seleτπo das Dialog Boxes.
  36. GLOBAL SRCDIR$      ''Mensagens de configuraτπo
  37. GLOBAL ASYM$        ''Diret≤rio do ASYM.INI  
  38. GLOBAL WININI$      ''Diret≤rio do WIN.INI  
  39. GLOBAL SYSINI$      ''Diret≤rio do SYSTEM.INI
  40. GLOBAL PBOYINI$      
  41. GLOBAL SPACOL&
  42. GLOBAL SPACOS&
  43. GLOBAL SaidaA$
  44. GLOBAL SaidaB$
  45. GLOBAL ErroFontes$
  46. GLOBAL Lang%
  47.  
  48.  
  49. 'Gostou...
  50. DECLARE SUB Install
  51. DECLARE SUB BackupInis (Extensao$)
  52. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  53. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  54. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  55.  
  56. '**************************************************************************
  57. '**  Script Geral de Instalaτπo
  58. '**************************************************************************
  59.  
  60. hWnd%=HwndFrame()
  61. i1&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  62. j1%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  63.  
  64.  
  65. INIT:
  66.     SPACOS& = 16000000
  67.     SPACOL& = 67000000
  68.     SPACO& = SPACOS&
  69.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  70.     OPTCUR$ = "I"
  71.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  72.     SaidaA$ = "O Windows serß reiniciado e o CD-ROM PLAYBOY estarß pronto para ser executado."
  73.     SaidaB$ = "O CD-ROM PLAYBOY nπo estarß pronto atΘ que o Windows seja reiniciado."
  74.     ErroFontes$ = "As fontes da Instalaτπo foram corrompidas. Procure Suporte TΘcnico."
  75.     
  76.     SetBitmap CUIDLL$, FUNDO
  77.     SetTitle "CD-ROM PLAYBOY 20 ANOS"
  78.  
  79.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  80.     IF szInf$ = "" THEN
  81.     szInf$ = GetSymbolValue("STF_CWDDIR") + "PBOY.INF"
  82.     END IF
  83.     ReadInfFile szInf$
  84.  
  85.     SRCDIR$ = GetSymbolValue("STF_SRCDIR")
  86.     CDROM$ = MID$(SRCDIR$,1,3)
  87.     WININI$ = MakePath(GetWindowsDir(),"WIN.INI")
  88.     SYSINI$ = MakePath(GetWindowsDir(),"SYSTEM.INI")
  89.     PBOYINI$ = MakePath(GetWindowsDir(),"PBOY.INI")
  90.  
  91.  
  92. '$IFDEF DEBUG
  93.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  94.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  95.     DEST$ = WinDrive$
  96.     IF IsDriveValid(WinDrive$) = 0 THEN
  97.         i% = DoMsgBox("Invalid Windows drive ('"+WinDrive$+"').", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  98.     GOTO QUIT
  99.     END IF
  100. '$ENDIF ''DEBUG
  101.  
  102.  
  103. GETPATH:
  104.     DEST$ = "C:\PBOY20"
  105.     SetSymbolValue "EditTextIn", DEST$
  106.     SetSymbolValue "EditFocus", "END"
  107.  
  108. GETPATHL1:
  109.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  110.     DEST$ = GetSymbolValue("EditTextOut")
  111.  
  112.     IF sz$ = "CONTINUE" THEN
  113.         IF IsDirWritable(DEST$) = 0 THEN
  114.         GOSUB BADPATH
  115.         GOTO GETPATHL1
  116.         DEST$ = "C:\PBOY20"
  117.         END IF
  118.     ELSEIF sz$ = "REACTIVATE" THEN
  119.         GOTO GETPATHL1
  120.     ELSE
  121.         GOSUB ASKQUIT
  122.         GOTO GETPATH
  123.     END IF
  124.  
  125.  
  126.      'Testa o espaco disponivel no CD-ROM
  127.      IF GetFreeSpaceForDrive( MID$( DEST$, 1, 1 ) ) < SPACO& THEN
  128.     GOSUB DRIVEFULL
  129.     GOTO GETPATHL1
  130.      END IF
  131.      UIPop 1
  132.  
  133.  
  134. ''*************************************************************************
  135.  
  136.  
  137.  
  138.     Install
  139.  
  140.  
  141.  
  142. ''*************************************************************************
  143.  
  144. '    ERR = 0
  145. '    sz$ = UIStartDlg(CUIDLL$, ACTIVATEFONTS, "FInstFontDlgProc", 0, "")
  146. '    UIPop 1
  147. '    GOTO QUIT
  148.  
  149.  
  150. QUIT:
  151.     ON ERROR GOTO ERRQUIT
  152.  
  153.     IF ERR = 0 THEN
  154.        ''Opτπo de reinicializar o Windows
  155.        dlg% = RESTARTWIN
  156.     ELSEIF ERR = STFQUIT THEN
  157.        dlg% = EXITQUIT
  158.     ELSE
  159.        dlg% = EXITFAILURE
  160.     END IF
  161.  
  162. QUITL1:
  163.  
  164.      sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  165.      IF sz$ = "REACTIVATE" THEN
  166.      GOTO QUITL1
  167.      ELSEIF sz$ = "RESTART" THEN
  168.      i% = DoMsgBox( SaidaA$, "Instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  169.      ELSEIF sz$ = "EXIT" THEN
  170.      i% = DoMsgBox( SaidaB$, "Instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  171.      
  172.      END IF
  173.      UIPop 1
  174.  
  175.      END
  176.  
  177.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  178.     IF sz$ = "REACTIVATE" THEN     ''Se o OK foi apertado...
  179.     GOTO QUITL1
  180.     END IF
  181.  
  182. ERRQUIT:
  183.     i% = DoMsgBox(ErroFontes$, "Instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  184.     END
  185.  
  186. DRIVEFULL:
  187.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  188.     IF sz$ = "REACTIVATE" THEN
  189.         GOTO DRIVEFULL
  190.     END IF
  191.     UIPop 1
  192.     RETURN
  193.  
  194. BADPATH:
  195.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  196.     IF sz$ = "REACTIVATE" THEN
  197.         GOTO BADPATH
  198.     END IF
  199.     UIPop 1
  200.     RETURN
  201.  
  202. ASKQUIT:
  203.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  204.  
  205.     IF sz$ = "EXIT" THEN
  206.     UIPopAll
  207.     ERROR STFQUIT
  208.     ELSEIF sz$ = "REACTIVATE" THEN
  209.      GOTO ASKQUIT
  210.     ELSE
  211.     UIPop 1
  212.     END IF
  213.     RETURN
  214.  
  215.  
  216.  
  217. '**
  218. '** Purpose:
  219. '**     Builds the copy list and performs all installation operations.
  220. '** Arguments:
  221. '**     none.
  222. '** Returns:
  223. '**     none.
  224. '*************************************************************************
  225.  
  226. SUB Install STATIC 
  227.  
  228.  
  229.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  230.  
  231.     BackupInis("PBY")   
  232.  
  233.     ''Adiciona linhas de Animaτπo, Video Digital no Win.INI
  234.     CreateIniKeyValue WININI$,"MCI Extensions","avi","Avivideo", cmoAppend
  235.  
  236.     'Adiciona linha no VIEWER.INI
  237.     CreateIniKeyValue MakePath(GetWindowsDir(), "VIEWER.INI"),"FILES", "PLAYBOY.MVB", SrcDir$+"\, Por favor insira o CD-ROM PLAYBOY 20 Anos no drive de CD.", cmoOverwrite
  238.  
  239.     ''Adiciona linhas no System.INI
  240.     CreateIniKeyValue SYSINI$,"MCI", "Avivideo","mciavi.drv", cmoAppend
  241.     CreateIniKeyValue SYSINI$,"Drivers","vidc.cvid","iccvid.drv", cmoAppend
  242.     CreateIniKeyValue SYSINI$,"Drivers","vidc.iv31","ir32.dll", cmoAppend
  243.     CreateIniKeyValue SYSINI$,"Drivers","vidc.iv32","ir32.dll", cmoAppend
  244.  
  245.     CreateIniKeyValue PBOYINI$,"Pboy","DirMidias1",SrcDir$, cmoOverwrite
  246.     CreateIniKeyValue PBOYINI$,"Pboy","DirMidias2",SrcDir$, cmoOverwrite
  247.     CreateIniKeyValue PBOYINI$,"Pboy","DirMidias3",DEST$+"\", cmoOverwrite
  248.     CreateIniKeyValue PBOYINI$,"Pboy","DirMidias4",DEST$+"\", cmoOverwrite
  249.     CreateIniKeyValue PBOYINI$,"Pboy","Profile","640480", cmoOverwrite
  250.  
  251.     DIR$ = DEST$
  252.  
  253.     ''Instala arquivos da seτπo COMUM
  254.     AddSectionFilesToCopyList "Comum", SrcDir$, Dest$
  255.  
  256.     ''Instala arquivos da seτπo TRILHAS
  257.     AddSectionFilesToCopyList "Trilhas", SrcDir$, MakePath(Dest$,"MIDIAS")
  258.  
  259.     ''Instala arquivos da seτπo SYSTEM
  260.     AddSectionFilesToCopyList "System", SrcDir$, MakePath(GetWindowsDir(),"SYSTEM")
  261.  
  262.     SetCopyGaugePosition 90, 115
  263.  
  264.     CopyFilesInCopyList
  265.  
  266.     '' Cria o grupo
  267.     CreateProgmanGroup "CD-ROM PLAYBOY 20 Anos", "", cmoOverwrite
  268.     ShowProgmanGroup  "CD-ROM PLAYBOY 20 Anos", 1, cmoOverwrite
  269.  
  270.     '' Cria os φcones
  271.     CreateProgmanItem "CD-ROM PLAYBOY 20 Anos", "PLAYBOY 20 Anos", MakePath(Dest$,"PBOY20.EXE") ,MakePath(DEST$,"PBOY20.EXE"), cmoOverwrite
  272.     CreateProgmanItem "CD-ROM PLAYBOY 20 Anos", "Ajuda", MakePath(SrcDir$,"HELP\MVIEWER2.EXE ")+MakePath(SrcDir$,"HELP\PLAYBOY.MVB") ,MakePath(DEST$,"PBOY.DLL")+",0,0,"+MakePath(SrcDir$,"HELP"), cmoOverwrite
  273.  
  274.     Run ("profdisp.exe")   
  275.  
  276. END SUB
  277.  
  278. '**
  279. '**
  280. '** Purpose:
  281. '**     Appends a file name to the end of a directory path,
  282. '**     inserting a backslash character as needed.
  283. '** Arguments:
  284. '**     szDir$  - full directory path (with optional ending "\")
  285. '**     szFile$ - filename to append to directory
  286. '**     Gace Avestruz
  287. '** Returns:
  288. '**     Resulting fully qualified path name.
  289. '*************************************************************************
  290. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  291.     IF szDir$ = "" THEN
  292.     MakePath = szFile$
  293.     ELSEIF szFile$ = "" THEN
  294.     MakePath = szDir$
  295.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  296.     MakePath = szDir$ + szFile$
  297.     ELSE
  298.     MakePath = szDir$ + "\" + szFile$
  299.     END IF
  300. END FUNCTION
  301.  
  302.  
  303. '*************************************************************************
  304. SUB BackupInis(Extensao$) STATIC
  305.  
  306.     WINBACK$ = MakePath(GetWindowsDir(),"WIN."+Extensao$)
  307.     SYSBACK$ = MakePath(GetWindowsDir(),"SYSTEM."+Extensao$)
  308.  
  309.     IF EXISTS (WINBACK$) THEN
  310.        KILL WINBACK$
  311.     END IF
  312.  
  313.     IF EXISTS (SYSBACK$) THEN
  314.        KILL SYSBACK$
  315.     END IF
  316.  
  317.  
  318.     OPEN WININI$ FOR INPUT AS 1
  319.     OPEN WINBACK$ FOR APPEND AS 2
  320.     WHILE EOF(1) = FALSE
  321.       LINE INPUT #1, LINHA$
  322.        PRINT #2,LINHA$
  323.     WEND
  324.     CLOSE 2
  325.     CLOSE 1
  326.  
  327.     OPEN SYSINI$ FOR INPUT AS 1
  328.     OPEN SYSBACK$ FOR APPEND AS 2
  329.     WHILE EOF(1) = FALSE
  330.       LINE INPUT #1, LINHA$
  331.       PRINT #2,LINHA$
  332.     WEND
  333.     CLOSE 2
  334.     CLOSE 1
  335. End Sub
  336.